#include <stdio.h>

int myatoi(const char *p);
// char *p == char p[]
int main(int argc, char *argv[])
{
	if (argc < 2) {
		// 除了可执行文件 没有其他参数
		return 1;
	}

	// 将argv[1]对应的字符串转化为整型数
	// "1234" ====> 1234
	printf("%d\n", myatoi(argv[1]));
	printf("%d\n", (&myatoi)(argv[1]));
	printf("%d\n", (*myatoi)(argv[1]));

	// 函数名
	printf("%p\n", myatoi);
	// 将函数的地址赋值给指针q
	int (*q)(const char *) = myatoi;
	// mytoi("8976");
	printf("%d\n", q("8976"));

	q = &myatoi;
	printf("%d\n", q("8976"));
	q = *myatoi;
	printf("%d\n", q("8976"));

	return 0;
}

// 数字字符
static int is_digital(char c)
{
	return c >= '0' && c <= '9';
}

static int digital_int(char c)
{
	return c - '0';
}

// p = "123";
int myatoi(const char *p)
{
	int res = 0;

	while (*p && is_digital(*p)) {
		res = res * 10 + digital_int(*p);
		p++;
	}

	return res;
}


